package io.renren.dao;

import io.renren.entity.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by ThinkPad on 2018/12/3.
 */
public interface CgsBusinessDao {

    List<Map> queryReservations(@Param("type") String bookType);

    List<Map> queryCgsInfoList(@Param("type") String type);

    List<Map> queryUserReservations(CgsBookInfo cgsBookInfo);

    Integer saveBusinessBookInfo(CgsBookInfo cgsBookInfo);

    Integer cancelBookInfo(@Param("bookid") String bookId);

    List<Map> queryBookTimeReservations(CgsBookInfo cgsBookInfo);

    Integer updateBookInfoArrival(CgsBookInfo cgsBookInfo);

    List<Map> queryBusinessDetail(Map paramMap);

    Integer insertPolicePostInfo(CgsPolicePost cgsPolicePost);

    List<CgsPolicePost> queryMyPolicePostInfo(@Param("userId") String userId);

    Integer insertReconsiderInfo(CgsReconsider cgsReconsider);

    List<CgsReconsider> queryMyReconsiderList(@Param("userId") String userId);

    Integer insertPassportApply(CgsPassportApply cgsPassportApply);

    Integer getSequenceNumber();

    Integer insertPassportApplyOracle(CgsPassportApply cgsPassportApply);

    List<CgsPassportApply> queryMyPassportApply(@Param("userId") String userId);

    List<CgsPassportApply> queryMyPassportApplyByOracle(List<String> xhList);

    void updateStatus(CgsPassportApply cgsPassportApply);

    Integer insertCgsEprInfoBusCheck(CgsEprBusCheck cgsEprBusCheck);

    List<CgsEprBusCheck> queryMyCgsEprInfoBusCheckList(@Param("userId") String userId);

    List<Map> queryCgsBusinessTopicList(@Param("businessType") String businessType);

    List<Map> queryCgsBusinessTopicDetail(@Param("id") String businessId);

    List<Map> queryPassportTypeList();

    List<Map<String,Object>> queryPassportTypeList1(@Param("auditDept") String auditDept);

    List<Map<String,Object>> queryPassportTypeList2(@Param("passportId") String passportId);

    List<RuleAreaEntity> queryRuleArea(@Param("auditDept") String auditDept);

    List<RuleLineEntity> queryRuleLine(@Param("auditDept") String auditDept);

    List<RoadMsgEntity> queryRoadMsgInfo(@Param("auditDept") String auditDept);

    List<Map> getDictValuesList(@Param("type") String type);

    Integer insertAccidentCheck(CgsAccidentCheck cgsAccidentCheck);

    List<CgsAccidentCheck> queryAccidentCheckList(@Param("userId") String userId);

    List<Map> queryPolicePostFee(Map paramMap);

    int updatePostPay(@Param("orderNum") String orderNum,@Param("wxOrderNum") String wxOrderNum,@Param("payTime") String payTime,@Param("status") String status);

    int updateOrderRefundStatus(@Param("orderNum") String orderNum,@Param("refundTime") String refundTime);

    Integer insertCgsQuestion(CgsQuestion cgsQuestion);

    List<Map> queryMyCgsQuestionList(@Param("userId") String userId);

    List<CgsQuestion> queryHotCgsQuestionList(@Param("page") int page, @Param("pageSize") int pageSize);

    Integer queryHotCgsQuestionCount();

    Integer insertCgsAppeal(CgsAppeal cgsAppeal);

    List<CgsAppeal> queryMyCgsAppealList(@Param("userId") String userId);

    List<Map> queryCgsBusinessTopicDetailByBusinessId(@Param("businessId") String businessId);
}
